The World Wide Web has developed primarily as medium of content for human consumption. Automating tasks on the Web (such as information retrieval, synthesis of information, etc.) is difficult because human interpretation is often required to make information content useful. Offering relief, a new architecture for the Web is emerging, known as the “Semantic Web.” In broad terms, the Semantic Web encompasses efforts to create mechanisms that augment content with formal semantics, thereby producing content suitable for automated systems (e.g., intelligent software agents) to consume. The Semantic Web permits more automated functions on the Web (e.g., reasoning, information and service discovery, service composition, etc.), easing the workload of its users.
The Semantic Web will also pave the way for true “device independence” and customization of information content for individual users. Information on the Web can now exist in a “raw form” and any context-dependent presentation can be rendered on demand (more generally, the Semantic Web represents a departure from the current “rendering-oriented” Web). It is important to note that the Semantic Web is not a separate Web but an extension of the current one in which information, when given this well-defined meaning, better enables computers and people to work in tandem. The Semantic Web is an initiative aimed at making data on the World Wide Web (WWW) more machine processable so that applications can gain maximum benefit from this data.
In the Semantic Web, content and services can be described using representation languages such as RDF (Resource Description Framework) (See e.g., Frank Manola and Eric Miller, RDF Primer, W3C RECOMMENDATION (Feb. 10, 2004) the contents of which is hereby incorporated by reference in its entirety) and OWL (Ontology Web Language). (For more information on OWL, see Deborah L. McGuinness & Frank van Harmelen (eds.), OWL Web Ontology Language Overview, W3C RECOMMENDATION (Feb. 10, 2004) the contents of which is incorporated herein in its entirety) In this regard, representations often refer to ontologies or specifications of conceptualizations that, in turn, enable reasoning via the use of logic rules. More particularly, ontologies may define domains by specifying, for example, concepts (i.e., classes), relationships between concepts, properties of concepts (i.e., slots), restrictions on properties (i.e., facets), individuals (i.e., instances), or the like. Ontologies may include, for example, personal information management (PIM) ontologies, location ontologies, temporal ontologies, social network ontologies, composite capability/preference profiles (CC/PP) schema, Web service ontologies (e.g., OWL-S, Web Service Modeling Ontology—WSMO), policy ontologies, and the like. For more information on the Semantic Web, see Berners-Lee, Hendler, and Lassila, The Semantic Web, SCIENTIFIC AMERICAN, 284(5):3443, May 2001.
The application of Semantic Web technologies to Web services may be referred to as Semantic Web services whereby descriptions of service interfaces are associated with formal semantics, allowing software agents to describe their functionality, discover and “understand” other agents' functionality and invoke services provided by other agents. Furthermore, it may be possible to combine multiple services into new services. Work on Semantic Web services is at least partially driven by the possibility to automate things that formerly have required human involvement, consequently leading to improved interoperability.
As known to those skilled in the art, RDF and OWL are two key Semantic web standards. These standards make machine consumption easy by use of Uniform Resource Identifiers (URIs) to uniquely identify resources. Moreover, both of these standards provide a common data model and a machine processable language to exchange information. For instance, both OWL and RDF use the RDF data model and both use Extensible Markup Language (XML)-based syntax (RDF/XML) machine processable language to exchange information. Additionally, RDF and OWL maintain a common vocabulary with unambiguous formal semantics. To be precise, RDF may utilize RDF Schema (RDFS) as a language for describing vocabularies in RDF. Similarly, OWL which is also a vocabulary language extension of RDF and RDFS may utilize constructs defined by RDF and RDFS.
Data models that use RDF or OWL enable applications to integrate data created by heterogeneous sources and allows derivation of implicit relationships between resources (as referred to in the art as inferencing). (As referred to herein inferencing typically means the process of applying rules that describe what can be derived (for example, what types of relationships can be added to resources) and the conditions under which such derivations (additions) are undertaken. Both RDF and OWL have an associated set of rules that allow implicit relationships between resources to be derived. For example, a resource named “Felix” is of type “Cat”, and “Cat” is a subclass of “Mammal.” By virtue of RDF's standard inference rules the information that “Felix” is also of type “Mammal” can be derived.) As known to those skilled in the art, RDF is a language for representing information about resources in the WWW. It is particularly intended for representing metadata about Web resources, such as the title, author, and modification date of a Web page, as well as copyright and licensing information about a Web document, or the availability schedule for a shared resource. However, by generalizing the notion of a Web resource, RDF can additionally be used to represent information about things or objects that can be identified on the Web, even when the things or objects cannot be directly retrieved via the Web. Some examples include, but are not limited to, information concerning availability of items from on-line shopping store (e.g., information about specifications, prices, availability, etc.), or the description of a Web user's preferences regarding information that he/she may want delivered to them.
As known to those skilled in the art, RDF is premised on the notion of identifying things (i.e., objects) using Web identifiers such as URIs and describing resources in terms of simple properties and property values. The use of URIs enables RDF to represent simple statements, concerning resources, as a network (also known as a “graph”) of nodes and arcs representing the resources, as well as their respective properties and values. For instance, consider FIG. 1 in which an RDF graph describing attributes of a person named Eric Miller is provided. More particularly, in FIG. 1 a group of statements, such as “there is a person identified by http://www.org/People/EM/contact#me 73, whose name is Eric Miller 75, whose e-mail address is em@w3.org 77 and whose title is Dr.” is illustrated. As shown in FIG. 1, the RDF graph demonstrates that RDF may utilize URIs to identify an individual(s), for example, Eric Miller 75 identified by the URI http://www.w3.org/People/EM/contact#me 73. FIG. 1 also illustrates kinds of things such as for example, a person, which is identified by URI http://www.w3.org/2000/10/swap/pim/contact#Person 71. Similarly, FIG. 1 illustrates properties of those things, for example, a mailbox of that person identified by URI http://www.w3.org/2000/10/swap/pim/contact#mailbox and values of those properties.
As shown below in Table 1, RDF also provides XML-based syntax (RDF/XML) for recording and exchanging the graphs shown in FIG. 1. The example below in Table 1 also illustrates a portion of the RDF in RDF/XML corresponding to the graph in FIG. 1.
TABLE 1Example: RDF/XML Describing Eric Miller<?xml version=“1.0”?><rdf:RDF xmlns:rdf=“http://www.w3.org/1999/02/22-rdf-syntax-ns#”   xmlns:contact=“http://www.w3.org/2000/10/swap/pim/contact#”> <contact:Person rdf:about=“http://www.w3.org/People/EM/ contact#me”>  <contact:fullName>Eric Miller</contact:fullName>  <contact:mailbox rdf:resource=“mailto:em@w3.org”/>  <contact:personalTitle>Dr.</contact:personalTitle> </contact:Person></rdf:RDF>
It should be noted that unlike conventional hypertext, RDF URIs may refer to any identifiable thing or object, including things or objects not retrievable on the WWW (such as, for example, the person of Eric Miller). The result is that in addition to describing such things or objects as Web pages, RDF can also describe vehicles, organizations, businesses, people, news events, etc. In addition, RDF properties have URIs to precisely identify relationships that exist between the linked items. In this regard, resources such as, documents, e-mails, web pages, bookmarks, and the like, located on a desktop of a terminal (e.g., personal computer, laptop computer, mobile telephone, Personal Digital Assistant (PDA), etc.) of an end-user may be identified using an ontology such as RDF (or an ontology such as OWL) even if these resources may not be retrieved on the WWW.
In today's information age, a user often organize resources on their desktop by carefully selecting a folder organization scheme which best suits the user. Typically, when a user creates a folder, he has in mind a set of attributes and/or properties that are satisfied by all objects which would belong to the created folder. It is commonplace for a user to employ a meaningful folder name and organization hierarchy to capture the attributes and properties of objects. As the data on a user's desktop grows, the user often encounters a situation in which his original organizational scheme seems insufficient. The result is that the user may be unable to locate files stored in folders or may expend a large amount of time in locating files.
In order to provide flexibility in facilitating a user's organization of resources stored on his terminal, semantic file systems have been proposed which provide a way for a user to perform attribute-based searches on files. That is to say, techniques have been proposed for using a semantic file system which specifies attribute-value pairs to annotate a folder's content. However, these techniques are generally deemed deficient given the lack of tools to create and query the annotations easily. For example, these techniques may require the user to learn a particular formal language or formalism in which the annotations and/or queries have to be described. Additionally, in some semantic file systems, the attributes of resources or objects associated with a particular folder are assigned based on user inputs which may be deficient from an organizational standpoint and require enormous amounts of repetition and time. Consider a semantic file system such as Google's e-mail service GMail which allows users to add multiple categories (i.e., “type” attributes) to a single object (e.g., e-mail). It should be understood that merely stating the type of an object is not sufficient for organizing resources in a folder because it is not expressive enough. For example, the topic of an e-mail could be a person which serves as one attribute, and the sender (serving as another attribute) could also be a person. If a person named Tom is both the sender and the topic of an e-mail, it becomes difficult to adequately express both these attributes (i.e., topic and sender) without ambiguity.
Against this backdrop, there may be need to utilize benefits of Semantic Web technology to simplify the process of attribute assignment as well as to generate a semantic file system which creates attribute-value pairs to annotate the content of a folder stored on a user's terminal. In this regard, it may be advantageous to provide a method of creating annotations for resources stored in a folder on a terminal by using attribute-value annotations to browse or locate resources in an easy and convenient manner.